Geographic segmentation systems and methods

ABSTRACT

Methods and systems for segmenting traffic based on geography include assigning coordinate location data received with respect to members of a plurality of computing devices to analytics data associated with a plurality of requests for content received from respective ones of the plurality of computing devices. A geographical location of interest is defined. The defining the geographical location of interest includes designating a plurality of points defining boundaries of the geographical location of interest. Respective ones of a plurality of traffic segments are assigned to the plurality of requests for content based in part upon a comparison of the geographical location of interest to coordinate location data assigned to respective ones of the plurality of requests for content. Network traffic metrics are generated for ones of the plurality of traffic segments. The request traffic metrics describe request behavior associated with particular segments of the plurality of traffic segments.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of application Ser. No.13/223,220, filed Aug. 31, 2011, now allowed, which is incorporatedherein by reference in its entirety.

BACKGROUND

Goods and services providers often employ various forms of marketing todrive consumer demand for products and services. Marketing often employsvarious techniques to expose target audiences to content promotingbrands, products, services, and so forth. For example, marketing mayinclude providing promotional content, such as advertisements, toconsumers to encourage them to purchase a product or service. Content isoften delivered to an audience via television commercials, radiocommercials, webpage advertisements and so forth.

In some instances, content providers will attempt to identify theiraudience and provide content that is specifically tailored for a targetaudience (e.g., targeted content). For example, a website provider willacquire demographic information of a web site visitor and providetargeted content based on the demographic information. The targetedcontent is delivered to the audience in hopes of improving thelikelihood of the audience taking a desired course of action, oftenreferred to as a conversion. For example, if it has been determined thata visitor has a history of visiting sports related websites, a targetedadvertisement for a sports drink may be displayed on the website inhopes of the visitor being persuaded to purchase the sports drink. It isbelieved that targeted content improves both of the visitor's experienceand the web site's overall effectiveness. Similar techniques areemployed in other forms of marketing.

To provide targeted advertising, existing techniques take into accountdemographic information relating to a user's age, gender, and so forthto identify targeted content to be provided to the audience.

SUMMARY

Methods and systems for segmenting traffic based on geography includeassigning coordinate location data received with respect to members of aplurality of computing devices to analytics data associated with aplurality of requests for content received from respective ones of theplurality of computing devices. A geographical location of interest isdefined. The defining the geographical location of interest includesdesignating a plurality of points defining boundaries of thegeographical location of interest. Respective ones of a plurality oftraffic segments are assigned to the plurality of requests for contentbased in part upon a comparison of the geographical location of interestto coordinate location data assigned to respective ones of the pluralityof requests for content. Network traffic metrics are generated for onesof the plurality of traffic segments. The request traffic metricsdescribe request behavior associated with particular segments of theplurality of traffic segments.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates an example content system for use with methods andsystems for geographic segmentation in accordance with one or moreembodiments.

FIG. 1B depicts a content provider system equipped for use with methodsand systems for geographic segmentation in accordance with one or moreembodiments.

FIG. 1C illustrates an example of content requests segmented usingmethods and systems for geographic segmentation in accordance with oneor more embodiments.

FIG. 1D depicts an example of segment rules for use with methods andsystems for geographic segmentation in accordance with one or moreembodiments.

FIG. 2 depicts an example content system, including a web analyticssystem, in accordance with one or more embodiments.

FIG. 3 illustrates an interface for designating a plurality of pointsdefining boundaries of the geographical location of interest accordingto one embodiment.

FIG. 4 illustrates an interface for designating a plurality of pointsdefining boundaries of the geographical location of interest by fittinga set of boundary points to boundaries of a set of location units withrespective request densities within a selected range according to oneembodiment.

FIG. 5 depicts an interface for designating a plurality of pointsdefining boundaries of the geographical location of interest by fittinga set of boundary points to boundaries of the plurality of locationunits with respective request densities similar to the request densityof the location unit according to one embodiment.

FIG. 6A is a high-level logical flowchart of operations used insegmenting data by location and generating metrics according to oneembodiment.

FIG. 6B is a high-level logical flowchart of operations used insegmenting data by location according to government administrative codesand generating metrics according to one embodiment.

FIG. 6C is a high-level logical flowchart of operations used insegmenting data by location using rectangular decomposition andgenerating metrics according to one embodiment.

FIG. 7 is a flowchart that illustrates a method of providing content inaccordance with one or more embodiments of the present technique.

FIG. 8A is a high-level logical flow chart of operations for designatinga plurality of points defining boundaries of the geographical locationof interest by fitting a set of boundary points to boundaries of a setof location units with respective request densities within a selectedrange according to one embodiment.

FIG. 8B is a high-level logical flow chart of operations for designatinga plurality of points defining boundaries of the geographical locationof interest by fitting a set of boundary points to boundaries of theplurality of location units with respective request densities similar tothe request density of the location unit according to one embodiment.

FIG. 9A is a high-level logical flow chart of operations for designatinga plurality of points defining boundaries of the geographical locationof interest according to one embodiment.

FIG. 9B is a high-level logical flowchart of operations used insegmenting data by location and generating comparative metrics accordingto one embodiment.

FIG. 9C is a high-level logical flow chart of operations for designatinga plurality of points defining boundaries of the geographical locationof interest based on an anticipated direction of travel according to oneembodiment.

FIG. 10 is a diagram that illustrates an example computer system inaccordance with one or more embodiments of the present technique.

While the invention is described herein by way of example for severalembodiments and illustrative drawings, those skilled in the art willrecognize that the invention is not limited to the embodiments ordrawings described. It should be understood, that the drawings anddetailed description thereto are not intended to limit the invention tothe particular form disclosed, but on the contrary, the intention is tocover all modifications, equivalents and alternatives falling within thespirit and scope of the present invention. Headings used herein are fororganizational purposes only and are not meant to be used to limit thescope of the description.

DETAILED DESCRIPTION OF EMBODIMENTS

Systems and methods for providing geographic segmentation of traffic andgenerating metrics based on geographic segmentation of traffic aredisclosed. In some embodiments, targeted content is provided to a userbased on geographic segmentation of traffic.

FIG. 1A illustrates an example content system for use with methods andsystems for geographic segmentation in accordance with one or moreembodiments. System 100 may be employed to acquire user coordinatelocation data, assign coordinate location data received with respect tomembers of a plurality of computing devices to analytics data associatedwith a plurality of requests for content received from respective onesof the plurality of computing devices, define a geographical location ofinterest, assign to respective ones of a plurality of traffic segmentsthe plurality of requests for content based in part upon a comparison ofthe geographical location of interest to coordinate location dataassigned to respective ones of the plurality of requests for content,and generate network traffic metrics for ones of the plurality oftraffic segments. In the illustrated embodiment, system 100 includes acontent provider system 102 and an access device 104 communicativelycoupled to one another via a network 106.

Access device 104 may include a computer or similar device employed by auser 108 to interact with devices at various locations on network 104.For example, device 104 may include a personal computer, a cellularphone, a personal digital assistant (PDA), or the like. In someembodiments, access device 104 includes a remote access device, such asa wireless communications device. For example, device 104 may include acellular phone connected to network 106 via a cellular network. Use of aremote access device may enable user 108 to access network 106, andentities connected thereto (e.g., content provider system 102), from avariety of locations remote geographic locations.

Network 106 may include a communications channel for providing effectivedata exchange between various entities of system 100. In someembodiments, network 106 includes an electronic communication network,such as the internet, a local area network (LAN), a cellularcommunications network, or the like. Network 106 may include one or morenetworks that facilitate communication between the entities of system100. For example, network 106 may include a cellular network coupled toa local area network of content provider system 102 via the internet.

In some embodiments, device 104 may include an application (e.g., userselected/installed mobile application) that can be used to generate arequest for content, to provide content, to render content, and/or toexchange requests with various devices on network 106. For example,device 104 may include an internet web-browser or similar applicationthat can be used to transmit/receive data/content 110 via network 106,render data/content 110 on device 104, and/or enable user interactionwith content 110 and/or content provider system 102. Device 104 mayinclude an onboard application that records and/or transmits coordinatelocation data 112 such that whereabouts of user 108 (e.g., geographiclocations visited by user 108) may be tracked. In some embodiments,coordinate location data 112 may be accompanied by, or otherwise includeadditional information regarding user activity at a given geographiclocation. For example, coordinate location data may include anindication of a geographic location of user 108 and/or access device 104(e.g., geographic coordinates, such as latitude and longitude or thebearing and distance to a fixed transceiver) at the time of an activity(e.g., user 108 visits a website using access device 104), a useridentifier, a time/date of the activity, a type/description of theactivity, and so forth.

Device 104 may exchange location data 112 with content provider system102. For example, access device 104 may transmit location data 112 tocontent provider system 102 via network 106. In some embodiments,location data 112 is transmitted directly from access device 104 tocontent provider system 102. For example, access device 104 may includean integrated GPS device that is capable of providing geographicalcoordinates (e.g., latitude and longitude) indicative of a geographiclocation of access device 104 and/or user 108. In some embodiments,location data 112 may be obtained via a source external to access device104. For example, where access device 104 includes a cellular phone, aproxy server for the corresponding cellular network may generate and/orforward location data 112 to content provider system 102.

Coordinate location data 112 may be transmitted to content providersystem 102 in response to receiving a user request to access content 110and/or rendering/executing of content 110 (e.g., a webpage) at device104. In some embodiments, where a user engages in activity via device104 (e.g., user 108 visits a website using access device 104), locationdata 112 may include an indication of a geographic location of user 108and/or access device 104 at the time of the activity, a user identifierassociated with the activity, a time/date of the activity, atype/description of the activity, and so forth. In some embodiments,device 104 may include an application that transmits analytics data to acollection server. For example, device 104 may include an applicationthat transmits location data 112 to an analytics server, database, orthe like of content provider system 102. Interactions with an analyticsprovider and an analytics server are described in more detail below.

Content provider system 102 may include an entity that provides contentto various entities and users of system 100. In some embodiments,content provider system 102 host a content site, such as a website, afile transfer protocol (FTP) site, or other source of content accessiblevia network 106. For example, content provider system 102 may includeone or more web servers having webpages of a website stored thereon.Content provider system 102 may provide content 110 in response toreceiving a corresponding request/query 114. For example, in response toreceiving, from access device 104, a request 114 for a web pageinitiated by user 108, content provider system 102 may transmit, vianetwork 106, content 110 that includes a corresponding HTML file for thewebpage requests. The HTML file may be rendered for display to user 108on an electronic display of device 104. Where content provider system102 includes an analytics system, as a result of rendering or otherwiseaccessing content 110, corresponding analytics data may be transmittedto content provider system 102 as described in more detail below withregard to at least FIG. 2. For example, rendering of the webpage maycause execution of embedded web-bug code that causes transmission ofanalytics data to an analytics sever of content provider system 102. Insome embodiments, analytics data includes location data 112 including anindication of a geographic location of user 108 and/or access device 104at the time of an activity (e.g., user 108 visits a website using accessdevice 104), a user identifier, a time/date of the activity, atype/description of the activity, and so forth.

Content provider system 102 may provide for the accumulation and/orprocessing of location data received. For example, content providersystem 102 may store coordinate location data 112 in a database. In someembodiments, raw coordinate location data 112 received from accessdevice 104 may be stored by content provider system 102. For example,raw analytics data may be stored in a database or other memory. In someembodiments, raw location data 112 may include an indication of locationthat is subsequently processed to determine a geographic location of theuser. For example, raw location data may include a geographiccoordinates. In some embodiments, the raw location data is processed(e.g., parsed) to facilitate comparison of a geographical location ofinterest to coordinate location data assigned to respective ones of theplurality of requests for content, geographic location of user 108and/or access device 104 at or near the time of an activity (e.g., user108 visits a website using access device 104), a user identifierassociated with the activity, a time/date of the activity, atype/description of the activity, and so forth. For example, the rawcoordinate location data (e.g., geographic coordinates) may be processedto identify a corresponding continent, country, state, county, city, zipcode, address, or the like that is of interest, as described in moredetail below with respect to FIGS. 6B-6C. The processed data may bestored in a database or other memory. In some embodiments, coordinatelocation data 112 is acquired over time to generate accumulated locationdata, as discussed below.

FIG. 1B depicts a content provider system equipped for use with methodsand systems for geographic segmentation in accordance with one or moreembodiments. In the illustrated embodiment, content provider system 102includes a location segment processing module 120, accumulatedcoordinate location and request data 122, segmented data 124, segmentrules 126, segment definitions 116, metrics and reports, segment content128, memory 130 and processor 132. Module 102 may process accumulatedcoordinate location and request data 122 to determine geographiclocations visited by a user based on the location data, assign torespective ones of a plurality of traffic segments the plurality ofrequests for content based in part upon a comparison of the geographicallocation of interest to coordinate location data assigned to respectiveones of the plurality of requests for content, identify targeted contentto be provided to the user based on the existence or non-existence of anaffinity, and/or provide the targeted content to the user. Memory 130may be the same or similar to system memory 1020 described below withregard to at least FIG. 10. Processor 132 may be the same or similar toprocessor 1010 described below with regard to at least FIG. 10.

In some embodiments, accumulated coordinate location and request data122 may include an accumulation of location data received by contentprovider system 102. For example, each time a device (e.g., accessdevice 104) transmits location data to content provider system 102,content provider system 102 may store the location data (e.g., in memory130) to generate a database of accumulated coordinate location andrequest data 122. In some embodiments, at least partially processedlocation data may be stored to generate accumulated coordinate locationand request data 122. For example, raw analytics data may be processed(e.g., parsed) by location segment processing module 120 to identify ageographic location of user 108 and/or access device 104 at the time ofan activity (e.g., user 108 visits a website using access device 104), auser identifier associated with the activity, a time/date of theactivity, a type/description of the activity, and so forth. Theprocessed data may be stored to generate accumulated coordinate locationand request data 122.

In some embodiments, accumulated coordinate location and request data122 may include location data corresponding to activities of one or moreusers over a period time. For example, accumulated location data 122 mayinclude, for one or more websites, location data 112 collected for everywebsite visit by every visitor to the one or more websites in a giventime period (e.g., the past year), such that accumulated location data122 includes a historical database having an entry corresponding to eachwebsite visit by every website visitor over the time period. In someembodiments, each entry includes location data that can be used toascertain the location of a user and/or access device associated withthe activity at the time of the activity, such that accumulatedcoordinate location and request data 122 can be processed to determinegeographical locations visited by users over a given period of time. Forexample, where entries associated with users each correspond to aparticular visit to a website by a user and include location data (e.g.,a geographical coordinate of user 108 and/or access device 104 at thetime of the user visiting the one or more websites), accumulatedcoordinate location and request data 122 can be processed to determinetravel patterns of one or more user over the given time period. Whereeach entry includes an identifier that is unique to the associated user,accumulated coordinate location and request data 122 can be filtered bya particular user identifier to readily identify locations visited by aparticular user associated with the particular user identifier, and,thus, identify travel patterns of the particular visitor over the giventime period.

In some embodiments, location data is associated with a specificactivity, such as a content request. In other embodiments, however,accumulated coordinate location and request data 122 is gathered on aperiodic or continuous basis, without regard to activity by the user.For example, a user's mobile device may have an application thatperiodically or frequently or continuously reports location informationto a server. In some embodiments, accumulated location data 122 isreceived from a service that aggregates location data from a regularbroadcast by access device 104 of a location of user 108 on a recurringor continuous basis. In such embodiments, accumulated coordinatelocation and request data 122 provides a more continuous picture oflocation information than is provided from data generated when the uservisits a specific company's site or application.

FIG. 1C illustrates an example of content requests segmented usingmethods and systems for geographic segmentation in accordance with oneor more embodiments. Table 150 includes accumulated coordinate locationand request data 122 associated with a plurality of users. Accumulatedcoordinate location data 122 may include entries that are based uponlocation data 112 received over a given period of time. For example, inthe illustrated embodiment, accumulated coordinate location and requestdata 122 may have been formed based on at least eight strings oflocation data 112 that were previously received during the year 2011.Each of the received strings of may have been parsed to extract the useridentifier 152, a date of the activity 154, a type/description of theactivity 156, and the geographic location 158 in latitude and longitudecoordinates. For example, incoming strings of analytics data generatedby device 104 in response to each of the respective activities may havebeen parsed by module 102 to extract and store the data for eachrespective entry. Although the illustrated embodiment includesaccumulated coordinate location and request data 122 associated with asingle user (e.g., user associated with identifier “1234”), otherembodiments, may include any number of entries for any number of users.For example, accumulated location data 122 may include entriesassociated with a plurality of different user identifiers, and theillustrated table 150 may simply reflect results of filtering theaccumulated location data by user ID “1234”.

In the illustrated embodiment, location data 104 includes a plurality ofentries 151 (e.g., rows) that each include a geographic locationsvisited by the user. Three segments are shown. A first segment 176includes data entries with locations within a bounding range of 30.306and 30.293 as well as between −97.695 and −97.697. A second segment 178includes data entries with locations within a bounding range of 29.8 and30.4 as well as between −95.3 and −95.7. A third segment 174 includesdata entries with locations within a bounding range of 38.89 and 38,899as well as between −77.0 and −77.1.

Each of the entries includes a user identifier (ID) 152, a date 154, anactivity type/description 156, and a geographic location 158. Identifier152 may include a unique user identifier, such that entries associatedwith a given user can be readily identified from entries associated withother identifiers (e.g., different users). In the illustratedembodiment, all of the entries are associated with a particular user ID“1234”. For each of the entries, date 154 may provide an indication ofwhen the user when the activity corresponding to particular entry tookplace and, thus, a geographic location where the user was located at ornear the time when the activity took place. In the illustratedembodiment, the date includes the month, day and year. Other embodimentsmay include other indications of time, such as time of day, day of theweek, and so forth. For each of the entries, activity type/description156 may provide an indication of a type of activity associated with theparticular entry or other details relating to the activity. In theillustrated embodiment, the activity type/description identifies whetherthe entry corresponds to a site visit, a site registration, a purchasevia the site, and an amount of the purchase.

Other embodiments may include other information, such as whether theuser added items to a cart, a site visitation path taken by the userduring a corresponding website visit, and so forth. For each of theentries, geographic location 158 designates a coordinate data, such as alatitude and longitude pair. The geographic location may be compared toboundaries of a physical place (e.g., city), which is decomposed to aseries of squares that may each be expressed as a set of 2 boundingvalues for each of longitude and latitude where the user associated withthe identifier for the entry is determined to be, at or near the time ofengaging in the given activity at the given date. Other embodiments mayinclude other indications of geographic location, such as a continent,or administrative boundary such as a country, state, county, zip code,address, or the like. Geographic location 158 in some embodimentsincludes the use of latitude and longitude in degrees, minutes andseconds as opposed to the fractional latitude and longitude shownherein.

As illustrated by table 150 and accumulated coordinate location andrequest data 122, a user's activities and locations may be tracked overa given period of time such that accumulated coordinate location andrequest data 122 includes historical geographic location data indicativeof one or more geographic locations determined to have been visited bythe user in the past. For example, table 150 includes locationinformation spanning at least the time frame of Jan. 1, 2011 to Jun. 7,2011. FIG. 1D depicts an example of segment rules for use with methodsand systems for geographic segmentation in accordance with one or moreembodiments. In the illustrated embodiment, table 170 includes sevenrules 126 to be considered when evaluating whether or not a requestrecord should be added to a particular traffic segment. Segment rules126 may be applied to location data, such as accumulated coordinate andlocation and request data 122 provided in table 150.

FIG. 2 depicts an example content system, including a web analyticssystem, in accordance with one or more embodiments. System 100′ may beemployed to acquire and/or process analytics data. In some embodiments,analytics data may include location data 112 that is used generateaccumulated coordinate location and request data 122. In the illustratedembodiment, system 200 includes content providers 202 a and 202 b, aclient device 204 and a web analytics provider 206.

Each of content providers 202 a and 202 b, client device 204 and webanalytics provider 206 may be communicatively coupled to one another viaa network 208. In some embodiments, web analytics system 200, includingweb analytics provider 206 content providers 202 a and/or contentprovider 202 b may be the same or similar to (e.g., provided as aportion of content provider system 102). In some embodiments, clientdevice 204 may be the same or similar to access device 104. In someembodiments, network 208 may be the same or similar to network 106.

During use, user 108 may employ client device 204 to retrieve contentfrom content providers 202 a and/or 202 b via network 208. Client device204 may transmit corresponding analytics data 201 to web analyticsprovider 206 via network 208. Web analytics provider 206 may employ alocation segment processing module to determine geographic locationsvisited by users based on analytics/location data, assign coordinatelocation data received with respect to members of a plurality ofcomputing devices to analytics data associated with a plurality ofrequests for content received from respective ones of the plurality ofcomputing devices, define a geographical location of interest, assign torespective ones of a plurality of traffic segments the plurality ofrequests for content based in part upon a comparison of the geographicallocation of interest to coordinate location data assigned to respectiveones of the plurality of requests for content, generate network trafficmetrics for ones of the plurality of traffic segments, identify targetedcontent to be provided to the user based on the metrics, and/or providethe targeted content to the user. For example, a location affinityprocessing module (e.g., web analytics processing module 218) mayprocess received analytics data 201, extract location data 112 from theanalytics data 201, determine geographic locations visited by users 108based on location data 112, and generate segmented data and metrics ofsegmented data for use in identifying targeted content to be provided tothe user, and employ at least one of content providers 202 a or 202 b toprovide the targeted content to client device 204, such that thetargeted content can be provided to user 108.

Content providers 202 a and/or 202 b may include source ofinformation/content (e.g., an HTML file defining display information fora webpage) that is provided to client device 204. For example contentproviders 202 a and/or 202 b may include vendor websites used to presentretail merchandise to a consumer. In some embodiments, content providers202 a and 202 b may include respective web content servers 210 a and 210b. Web content servers 210 a and 210 b may include web content 210stored thereon, such as HTML files that are accessed and loaded byclient device 204 for viewing webpages of content providers 202 a and202 b. In some embodiments, content providers 202 a and 202 b may serveclient 204 directly. For example, content 210 may be provided from eachof servers 210 a or 210 b directly to client 204. In some embodiments,one of content providers 202 a and 202 b may act as a proxy for theother of content providers 202 a and 202 b. For example, server 210 amay relay content 210 from server 210 b to client device 204.

Client device 204 may include a computer or similar device used tointeract with content providers 202 a and 202 b. In some embodiments,client device 204 includes a wireless device employed by user 108 toaccess content 210 (e.g., web pages of a websites) from contentproviders 202 a and 202 b via network 208. For example, client device204 may include a personal computer, a cellular phone, a personaldigital assistant (PDA), or the like. In some embodiments, client device204 may include an application (e.g., internet web-browser application)212 that can be used to generate a request for content, to rendercontent, and/or to communicate request to various devices on thenetwork. For example, upon selection of a website link on a webpagedisplayed to the user by browser application 212, browser application212 may submit a request for the corresponding webpage/content to webcontent server 210 a, and web content server 210 a may providecorresponding content 210, including an HTML file, that is executed bybrowser application 212 to render the requested website for display tothe user. In some instances, execution of the HTML file may causebrowser application 212 to generate additional request for additionalcontent (e.g., an image referenced in the HTML file as discussed below)from a remote location, such as content providers 202 a and 202 b and/orweb analytics provider 206. The resulting webpage 212 a may be viewed bya user via a video monitor or similar graphical presentation device ofclient device 204.

Web analytics provider 206 may include a system for the collection andprocessing of web analytics data 201, and the generation ofcorresponding web analytics reports including various metrics of the webanalytics data (e.g., a promotion effectiveness index and/or a promotioneffectiveness ranking). Web analytics data 201 may include data thatdescribes usage and visitation patterns for websites and/or individualwebpages within the website. Web analytics data 201 may includeinformation relating to the activity and interactions of one or moreusers with a given website or webpage. For example, web analytics data201 may include historic and/or current website browsing information forone or more website visitors, including, but not limited toidentification of links selected, identification of web pages viewed,identification of conversions (e.g., desired actions taken—such as thepurchase of an item), number of purchases, value of purchases, and otherdata that may help gauge user interactions with webpages/web sites.

In some embodiments, analytics data 201 includes location data 112.Analytics data 201 may include an indication of a geographic location ofuser 108 and/or access device 104 at the time of an activity (e.g., user108 visits a website using access device 104), a user identifier, atime/date of the activity, a type/description of the activity, and soforth. In some embodiments, web analytics data 201 can be used to assessa user's activity and the corresponding geographic location of the userduring the activities.

In some embodiments, web analytics data 201 is accumulated over time togenerate a set of web-analytics data (e.g., a web analytics dataset)that is representative of activity and interactions of one or more userswith a given website or webpage. For example, a web analytics datasetmay include analytics data associated with all user visits to a givenwebsite. The set of web-analytics data may include, or otherwise be usedto generate, accumulated location data 122.

Web analytics provider 206 may include a third-party website trafficstatistic service. Web analytics provider 206 may include an entity thatis physically separate from content providers 202 a and 202 b. Webanalytics provider 206 may reside on a different network location fromcontent providers 202 a and 202 b and/or client device 204. In theillustrated embodiment, for example, web analytics provider 206 iscommunicatively coupled to client 204 via network 208. Web analyticsprovider 206 may be communicatively coupled to content providers 202 aand 202 b via network 208. Web analytics provider 206 may receive webanalytics data 201 from client device 204 via network 208 and mayprovide corresponding web analytics data (e.g., web analytics reports)to content provider 202 a and 202 b via network 208 or some other formof communication.

In the illustrated embodiment, web analytics provider 206 includes a webanalytics server 214, a web analytics database 216, and a web analyticsprocessing module 218. Processing module 218 may include computerexecutable code (e.g., executable software modules) stored on a computerreadable storage medium that is executable by a computer to provideassociated processing. For example, processing module 218 may processweb analytics datasets stored in database 216 to generate correspondingweb analytics reports that are provided to content providers 202 a and202 b. Web analytics processing module 218 may include location segmentprocessing module 120.

Web analytics server 214 may service requests from one or more clients.For example, upon loading/rendering of a webpage 212 a by browser 212 ofclient device 204, browser 212 may generate a request to web analyticsserver 214 via network 208. Web analytics server 214 and/or processingmodule 218 may process the request and return appropriate content (e.g.,an image) 210 to browser 212 of client device 204. In some embodiments,the request includes a request for an image, and web analytics provider206 simply returns a single transparent pixel for display by browser 212of client device 204, thereby fulfilling the request. The request itselfmay also include web analytics data embedded therein. Some embodimentsmay include content provider 202 a and/or 202 b embedding or otherwiseproviding a pointer to a resource, known as a “web bug”, within the HTMLcode of the webpage 212 a provided to client device 204. The resourcemay be invisible in to the user 108, such as a transparent one-pixelimage for display in a web page. The pointer may direct browser 212 ofclient device 204 to request the resource from web analytics server 214.Web analytics server 214 may record the request and any additionalinformation associated with the request (e.g., the date and time, and/oridentifying information that may be encoded in the resource request).

In some embodiments, an image request embedded in the HTML code of thewebpage may include codes/strings that are indicative of web analyticsdata, such as data about a user/client, the user's computer, the contentof the webpage, or any other web analytics data that is accessible andof interest. A request for an image may include, for example,“image.gif/XXX . . . ” wherein the string “XXX . . . ” is indicative ofthe web analytics data 201. For example, the string “XXX” may includeinformation regarding user interaction with a website (e.g., locationdata 112). Web analytics provider 206 may parse the request (e.g., atserver 214 or processing module 218) to extract the web analytics datacontained within the request. Web analytics data 201 may be stored inweb analytics database 216, or a similar storage/memory device, inassociation with other accumulated web analytics data. In someembodiments, processing module 218 may receive/retrieve web analyticsdata from web analytics server 214 and/or database 216. Web analyticsprocessing module 218 may process the web analytics data to generate oneor more web analytics reports. For example, web analytics report module214 may filter the raw web analytics data received at web analyticsserver 214 to generate concise and complete web analytics reports, asmay be requested by a website administrator of one of content providers202 a and 202 b. Reports, for example, may include overviews andstatistical analyses describing the relative frequency with whichvarious site paths are being followed through the content provider'swebsite, the rate of converting a website visit to a purchase (e.g.,conversion), an effectiveness of various promotions, user-locations andso forth.

In some embodiments, user 108 interacts with client device 204 toexecute a software application, such as browser application 212, foraccessing and displaying one or more webpages 212 a. In response to auser command, such as clicking on a link or typing in a uniform resourcelocator (URL), browser application 212 may issue a webpage request 222to web content server 210 a of content provider 202 a via network 208(e.g., via the Internet). In response to request 222, web content server210 a may transmit the corresponding content 210 (e.g., webpage HTMLcode 224 corresponding to webpage 212 a) to browser application 212.Browser application 212 may interpret the received webpage code 224 todisplay the requested webpage 212 a to user 108 at a user interface(e.g., monitor) of client device 204. Browser application 212 maygenerate additional requests for content from the servers, or otherremote network locations, as needed. For example, if webpage code 224calls for content, such as an advertisement, to be provided by contentprovider 202 b, browser application 212 may issue an additional request226 to web content server 210 b. Web content server 210 b may provide acorresponding response 228 containing requested content 210, therebyfulfilling the request. Browser application 212 may assemble theadditional content for display within webpage 212 a.

In some embodiments, client device 204 also transmits webpage visitationtracking information to web analytics provider 206. For example, asdescribed above, webpage code 224 may include executable code (e.g., aweb bug) to initiate a request for data from web analytics server 214such that execution of webpage code 224 at browser 212 causes browser212 to generate a corresponding request (e.g., a web-beacon request) 230for the data to web analytics server 214. In some embodiments, request230 may itself have web analytics data (e.g., web analytics data 201)contained/embedded therein, or otherwise associated therewith, such thattransmitting request 230 causes transmission of web analytics data fromclient device 204 to web analytics provider 206. For example, asdescribed above, request 230 may include an image request having anembedded string of data therein. Web analytics provider 206 may process(e.g., parse) request 230 to extract web analytics data 201 containedin, or associated with, request 230. In some embodiments, request 230from client device 204 may be forwarded from server 214 to database 216for storage and/or to web analytics processing module 218 forprocessing.

Web analytics processing module 218 and/or server 214 may process thereceived request to extract web analytics data 201 from request 230.Where request 230 includes a request for an image, web analytics server214 may simply return content/image 234 (e.g., a single transparentpixel) to browser 212, thereby fulfilling request 228. In someembodiments, web analytics server 206 may transmit web analytics dataand/or a corresponding web analytics reports to content providers 202 aand/or 202 b, or other interested entities. For example, web analyticsdata 201 and/or 232 and/or web analytics reports 240 a and 240 b (e.g.,including processed web analytics data) may be forwarded to siteadministrators of content providers 202 a and 202 b via network 208, orother forms of communication. In some embodiments, a content providermay log-in to a website, or other network based application, hosted byweb analytics provider 206, and may interact with thewebsite/application to generate custom web analytics reports. Forexample, content provider 202 a may log into a web analytics website viawebsite server 214, and may interactively submit request 242 to generatereports for various metrics (e.g., number of conversions for male usersthat visit the home page of the content provider's website, aneffectiveness of a promotion, etc.), and web analytics provider 206 mayreturn corresponding reports (e.g., reports dynamically generated viacorresponding queries for data stored in database 216 and processing ofthe data via module 218). In some embodiments, content providers 202 aand 202 b may provide web analytics data 201 to web analytics provider206.

In some embodiments, web analytics provider 206 may provide data thatenables content providers 202 a and/or 202 b to provide targeted contentto user. For example, web analytics processing module 218 may processaccumulated location data (e.g., received analytics data 201) todetermine geographic segments of traffic and identify targeted contentto be provided to the user based on the existence or non-existence of anaffinity, and direct at least one of content providers 202 a or 202 b toprovide the identified targeted content to client device 204. In someembodiments, the targeted content is stored at the content provider.

FIG. 3 illustrates an interface for designating a plurality of pointsdefining boundaries of the geographical location of interest accordingto one embodiment. A user may interact with a graphical user interfacedisplaying a map 300 to define a geographical location of interest 330by designating a plurality of points 310 a-310 c and 310 h-310 jdefining boundaries 320 a-320 c and 320 h-320 j defining thegeographical location of interest. For comparison purposes, a user mayinteract with the graphical user interface displaying the map 300 todefine a geographical location of interest 340 by designating aplurality of points 310 d-310 g defining boundaries 320 d-320 g definingthe geographical location of interest, and comparative metrics forsegments including traffic from geographical location of interest 330and geographical location of interest 340 may be generated.

FIG. 4 illustrates an interface for designating a plurality of pointsdefining boundaries of the geographical location of interest by fittinga set of boundary points to boundaries of a set of location units withrespective request densities within a selected range according to oneembodiment. A plurality of requests for content may be presented in amap GUI with corresponding request densities 430 in a plurality locationunits. Responsive to selection of a location unit from the plurality oflocation units, a plurality of location units with respective requestdensities similar to the request density of the location unit may befitted with a set of boundary points 410 a-410 j to define boundaries420 a-420 j of the plurality of location units with respective requestdensities similar to the request density of the location unit.

FIG. 5 depicts an interface for designating a plurality of pointsdefining boundaries of the geographical location of interest by fittinga set of boundary points to boundaries of the plurality of locationunits with respective request densities similar to the request densityof the location unit according to one embodiment. A map interface 500includes a set of boundaries 520 a-520 n for a set of regions 510 a-510n defined by a similar request density.

FIG. 6A is a high-level logical flowchart of operations used insegmenting data by location and generating metrics according to oneembodiment. Coordinate location data received with respect to members ofa plurality of computing devices is assigned to analytics dataassociated with requests from a plurality of requests for contentreceived from respective ones of the plurality of computing devices(block 605). A geographical location of interest is defined bydesignating a plurality of points defining boundaries of thegeographical location of interest (block 610). The plurality of requestsfor content based is assigned to respective ones of a plurality oftraffic segments in part upon a comparison of the geographical locationof interest to coordinate location data assigned to respective ones ofthe plurality of requests for content (block 615). Requested trafficmetrics are generated for ones of the plurality of traffic segments,wherein the request traffic metrics describe request behavior associatedwith particular segments of the plurality of traffic segments (block620).

FIG. 6B is a high-level logical flowchart of operations used insegmenting data by location according to government administrative codesand generating metrics according to one embodiment. Coordinate locationdata received with respect to members of a plurality of computingdevices is assigned to requests from a plurality of requests for contentreceived from respective ones of the plurality of computing devices(block 630). A geographical location of interest is defined bydesignating a plurality of points defining boundaries of thegeographical location of interest by generating coordinate location datafrom administrative codes (block 635). The plurality of requests forcontent is assigned to respective ones of a plurality of trafficsegments by assigning to respective ones of the plurality of trafficsegments the plurality of requests for content based in part uponrespective administrative codes (block 640). Comparative traffic metricsare generated for segments representing the government administrativecodes (block 645).

FIG. 6C is a high-level logical flowchart of operations used insegmenting data by location using rectangular decomposition andgenerating metrics according to one embodiment. Coordinate location datareceived with respect to members of a plurality of computing devices isassigned to requests from a plurality of requests for content receivedfrom respective ones of the plurality of computing devices (block 650).An area represented by a geographic region is decomposed into a seriesof rectangles (block 655). Each rectangle is defined in terms ofboundary coordinates (block 660). The coordinate location data iscompared to the boundary coordinates (block 665). Respective ones of theplurality of traffic segments are assigned to the plurality of requestsfor content based in part upon the geographic region (block 670).Comparative traffic metrics for segments representing geographic regionare generated (block 675).

FIG. 7 is a flowchart that illustrates a method of providing content inaccordance with one or more embodiments of the present technique.Location data is accumulated and associated with requests (block 750).Traffic is segmented based on location data associated with requests(block 760). Traffic metrics for requests are generated (block 770). Adevice is identified for provision of content based on requests withingiven traffic segment (block 780). Indicated content is delivered (block790).

FIG. 8A is a high-level logical flow chart of operations for designatinga plurality of points defining boundaries of the geographical locationof interest by fitting a set of boundary points to boundaries of a setof location units with respective request densities within a selectedrange according to one embodiment. The plurality of requests for contentis analyzed to determine request densities in a plurality of locationunits (block 810). A set of location units with respective requestdensities within a selected range is identified (block 820). A set ofboundary points is fitted to boundaries of the set of location units(block 830). The set of boundary points is assigned as the plurality ofpoints defining the boundaries of the geographical location of interest(block 840).

FIG. 8B is a high-level logical flow chart of operations for designatinga plurality of points defining boundaries of the geographical locationof interest by fitting a set of boundary points to boundaries of theplurality of location units with respective request densities similar tothe request density of the location unit according to one embodiment.The plurality of requests for content is analyzed to determinerespective request densities in a plurality location units (block 850).A map of the plurality of location units is presented with indicationsof the respective request densities in the plurality of location units(block 860). Responsive to selection of a location unit from theplurality of location units, a plurality of location units is identifiedwith respective request densities similar to the request density of thelocation unit (block 870). A set of boundary points is fit to boundariesof the plurality of location units with respective request densitiessimilar to the request density of the location unit (block 880). The setof boundary points is assigned as the plurality of points defining theboundaries of the geographical location of interest (block 890).

FIG. 9A is a high-level logical flow chart of operations for designatinga plurality of points defining boundaries of the geographical locationof interest according to one embodiment. Input indicating a shape of adesired region is received through a graphical user interface (block910). A set of boundary points to boundaries of the desired region(block 920). The set of boundary points is assigned as the plurality ofpoints defining the boundaries of the geographical location of interest(block 930).

FIG. 9B is a high-level logical flowchart of operations used insegmenting data by location and generating comparative metrics accordingto one embodiment. Another geographical location of interest is definedby designating a plurality of points defining boundaries of the anothergeographical location of interest (block 940). The plurality of requestsfor content is assigned to respective ones of the plurality of trafficsegments based in part upon a comparison of the another geographicalregion of interest to the respective ones of the plurality of requestsfor content (block 950). Comparative traffic metrics are generated forsegments representing the geographical region of interest and theanother geographical region of interest (block 960).

FIG. 9C is a high-level logical flow chart of operations for designatinga plurality of points defining boundaries of the geographical locationof interest based on an anticipated direction of travel according to oneembodiment. A first point is designated among the plurality of points(block 970). The location data received with respect to the plurality ofmobile computing devices is analyzed to identify one or more anticipateddirections of travel from the first point (block 980). Additional onesof the plurality of points based at least in part on the one or moreanticipated directions of travel (block 990).

Example Computer System

FIG. 10 is a diagram that illustrates an example computer system 1000 inaccordance with one or more embodiments of the present technique.Various portions of systems 100, 100′, and/or 100″ and/or the methodsand operations described herein, may be executed on one or more computersystems similar to that described herein, which may interact withvarious other devices of the system. For example, location affinityprocessing module 102 may be executed on a computer system of contentprovider system 102 (e.g., a computer system of web analytics provider300, content providers 202 a and/or 202 b, or a standalone computersystem). Device 104 and/or client device 204 may include a computerdevice similar to that of computer system 1000.

In the illustrated embodiment, computer system 1000 includes one or moreprocessors 1010 coupled to a system memory 1020 via an input/output(I/O) interface 1030. Computer system 1000 further includes a networkinterface 1040 coupled to I/O interface 1030, and one or moreinput/output devices 1050, such as cursor control device 1060, keyboard1070, audio device 1090, and display(s) 1080. In some embodiments, it iscontemplated that embodiments may be implemented using a single instanceof computer system 1000, while in other embodiments multiple suchsystems, or multiple nodes making up computer system 1000, may beconfigured to host different portions or instances of embodiments. Forexample, in one embodiment some elements may be implemented via one ormore nodes of computer system 1000 that are distinct from those nodesimplementing other elements.

In various embodiments, computer system 1000 may be a uniprocessorsystem including one processor 1010, or a multiprocessor systemincluding several processors 1010 (e.g., two, four, eight, or anothersuitable number). Processors 1010 may be any suitable processor capableof executing instructions. For example, in various embodiments,processors 1010 may be general-purpose or embedded processorsimplementing any of a variety of instruction set architectures (ISAs),such as the x86, PowerPC, SPARC, or MIPS ISAs, or any other suitableISA. In multiprocessor systems, each of processors 1010 may commonly,but not necessarily, implement the same ISA. In some embodiments, atleast one processor 1010 may be a graphics processing unit.

System memory 1020 may be configured to store program instructionsand/or data accessible by processor 1010. In various embodiments, systemmemory 1020 may be implemented using any suitable memory technology,such as static random access memory (SRAM), synchronous dynamic RAM(SDRAM), nonvolatile/Flash-type memory, or any other type of memory. Inthe illustrated embodiment, program instructions and data implementingdesired functions, such as those described above for a layout-preservedtext generation method, are shown stored within system memory 1020 asprogram instructions 1025 and data storage 1035, respectively. In otherembodiments, program instructions and/or data may be received, sent orstored upon different types of computer-accessible media or on similarmedia separate from system memory 1020 or computer system 1000.Generally speaking, a computer-accessible medium may include storagemedia or memory media such as magnetic or optical media, e.g., disk orCD/DVD-ROM coupled to computer system 1000 via I/O interface 1030.Program instructions and data stored via a computer-accessible mediummay be transmitted by transmission media or signals such as electrical,electromagnetic, or digital signals, which may be conveyed via acommunication medium such as a network and/or a wireless link, such asmay be implemented via network interface 1040. Program instructions mayinclude instructions for implementing the techniques described withrespect to method 300.

In some embodiments, I/O interface 1030 may be configured to coordinateI/O traffic between processor 1010, system memory 1020, and anyperipheral devices in the device, including network interface 1040 orother peripheral interfaces, such as input/output devices 1050. In someembodiments, I/O interface 1030 may perform any necessary protocol,timing or other data transformations to convert data signals from onecomponent (e.g., system memory 1020) into a format suitable for use byanother component (e.g., processor 1010). In some embodiments, I/Ointerface 1030 may include support for devices attached through varioustypes of peripheral buses, such as a variant of the Peripheral ComponentInterconnect (PCI) bus standard or the Universal Serial Bus (USB)standard, for example. In some embodiments, the function of I/Ointerface 1030 may be split into two or more separate components. Inaddition, in some embodiments some or all of the functionality of I/Ointerface 1030, such as an interface to system memory 1020, may beincorporated directly into processor 1010.

Network interface 1040 may be configured to allow data to be exchangedbetween computer system 1000 and other devices attached to a network(e.g., network 106 and/or 208), such as other computer systems, orbetween nodes of computer system 1000. In various embodiments, networkinterface 1040 may support communication via wired or wireless generaldata networks, such as any suitable type of Ethernet network, forexample; via telecommunications/telephony networks such as analog voicenetworks or digital fiber communications networks; via storage areanetworks such as Fibre Channel SANs, or via any other suitable type ofnetwork and/or protocol.

Input/output devices 1050 may, in some embodiments, include one or moredisplay terminals, keyboards, keypads, touchpads, scanning devices,voice or optical recognition devices, or any other devices suitable forentering or retrieving data by one or more computer system 1000.Multiple input/output devices 1050 may be present in computer system1000 or may be distributed on various nodes of computer system 1000. Insome embodiments, similar input/output devices may be separate fromcomputer system 1000 and may interact with one or more nodes of computersystem 1000 through a wired or wireless connection, such as over networkinterface 1040.

Memory 1020 may include program instructions 1025, configured toimplement embodiments of a layout-preserved text generation method asdescribed herein, and data storage 1035, comprising various dataaccessible by program instructions 1025. In one embodiment, programinstructions 1025 may include software elements of a method illustratedin the above Figures. Data storage 1035 may include data that may beused in embodiments described herein. In other embodiments, other ordifferent software elements and/or data may be included.

Those skilled in the art will appreciate that computer system 1000 ismerely illustrative and is not intended to limit the scope of alayout-preserved text generation method as described herein. Inparticular, the computer system and devices may include any combinationof hardware or software that can perform the indicated functions,including computers, network devices, internet appliances, PDAs,wireless phones, pagers, etc. Computer system 1000 may also be connectedto other devices that are not illustrated, or instead may operate as astand-alone system. In addition, the functionality provided by theillustrated components may in some embodiments be combined in fewercomponents or distributed in additional components. Similarly, in someembodiments, the functionality of some of the illustrated components maynot be provided and/or other additional functionality may be available.

Those skilled in the art will also appreciate that, while various itemsare illustrated as being stored in memory or on storage while beingused, these items or portions of them may be transferred between memoryand other storage devices for purposes of memory management and dataintegrity. Alternatively, in other embodiments some or all of thesoftware components may execute in memory on another device andcommunicate with the illustrated computer system via inter-computercommunication. Some or all of the system components or data structuresmay also be stored (e.g., as instructions or structured data) on acomputer-accessible medium or a portable article to be read by anappropriate drive, various examples of which are described above. Insome embodiments, instructions stored on a computer-accessible mediumseparate from computer system 1000 may be transmitted to computer system1000 via transmission media or signals such as electrical,electromagnetic, or digital signals, conveyed via a communication mediumsuch as a network and/or a wireless link. Various embodiments mayfurther include receiving, sending or storing instructions and/or dataimplemented in accordance with the foregoing description upon acomputer-accessible medium. Accordingly, the present invention may bepracticed with other computer system configurations. In someembodiments, portions of the techniques described herein (e.g.,preprocessing of script and metadata may be hosted in a cloud computinginfrastructure.

Various embodiments may further include receiving, sending or storinginstructions and/or data implemented in accordance with the foregoingdescription upon a computer-accessible medium. Generally speaking, acomputer-accessible/readable storage medium may include a non-transitorystorage media such as magnetic or optical media, (e.g., disk orDVD/CD-ROM), volatile or non-volatile media such as RAM (e.g. SDRAM,DDR, RDRAM, SRAM, etc.), ROM, etc., as well as transmission media orsignals such as electrical, electromagnetic, or digital signals,conveyed via a communication medium such as network and/or a wirelesslink.

Various modifications and changes may be to the above technique made aswould be obvious to a person skilled in the art having the benefit ofthis disclosure. It is intended that the invention embrace all suchmodifications and changes and, accordingly, the above description to beregarded in an illustrative rather than a restrictive sense. While theinvention is described herein by way of example for several embodimentsand illustrative drawings, those skilled in the art will recognize thatthe invention is not limited to the embodiments or drawings described.It should be understood, that the drawings and detailed descriptionthereto are not intended to limit the invention to the particular formdisclosed, but on the contrary, the intention is to cover allmodifications, equivalents and alternatives falling within the spiritand scope of the present invention. Any headings used herein are fororganizational purposes only and are not meant to be used to limit thescope of the description. As used throughout this application, the word“may” is used in a permissive sense (i.e., meaning having the potentialto), rather than the mandatory sense (i.e., meaning must). Similarly,the words “include”, “including”, and “includes” mean including, but notlimited to. As used throughout this application, the singular forms “a”,“an” and “the” include plural referents unless the content clearlyindicates otherwise. Thus, for example, reference to “an element”includes a combination of two or more elements. Unless specificallystated otherwise, as apparent from the discussion, it is appreciatedthat throughout this specification discussions utilizing terms such as“processing”, “computing”, “calculating”, “determining” or the likerefer to actions or processes of a specific apparatus, such as a specialpurpose computer or a similar special purpose electronic computingdevice. In the context of this specification, therefore, a specialpurpose computer or a similar special purpose electronic computingdevice is capable of manipulating or transforming signals, typicallyrepresented as physical electronic or magnetic quantities withinmemories, registers, or other information storage devices, transmissiondevices, or display devices of the special purpose computer or similarspecial purpose electronic computing device.

What is claimed is:
 1. A computer implemented method for trackinganalytics data related to requests for content over a computer networkand generating metrics using the tracked analytics data, the methodperforming operations comprising: tracking analytics data for requestsfor content over a computer network, the analytics data for each requestcomprising a user identifier of a person or a user computing device thatmade the request, a time and date of the request, a description of therequest, and a coordinate location of the user computing device when therequest for content was made, the coordinate location recorded andtransmitted by the user computing device; and generating traffic metricsfor each of one or more geographical locations of interest by segmentingthe analytics data based on the coordinate location of the request. 2.The method of claim 1, further comprising identifying the person or theuser computing device that made the request for content from theanalytics data for requests for provision of content based on requestsreceived from the user computing device.
 3. The method of claim 1,wherein tracking analytics data further comprises tracking locationvisit patterns using multiple coordinate locations.
 4. The method ofclaim 1, further comprising designating a plurality of points definingboundaries of the geographical location of interest comprising:analyzing the requests for content to determine request densities in aplurality of location units, identifying a set of location units withrespective request densities within a selected range, fitting a set ofboundary points to boundaries of the set of location units, andassigning the set of boundary points to define the boundaries of thegeographical location of interest.
 5. The method of claim 1, furthercomprising designating a plurality of points defining boundaries of thegeographical location of interest comprising: analyzing the requests forcontent to determine respective request densities in a plurality oflocation units, presenting a map of the plurality of location units withindications of the respective request densities in the plurality oflocation units, responsive to selection of a location unit from theplurality of location units, identifying a set of location units withrespective request densities similar to the request density of thelocation unit, fitting a set of boundary points to boundaries of the setof location units with respective request densities similar to therequest density of the location unit, and assigning the set of boundarypoints to define the boundaries of the geographical location ofinterest.
 6. A computer-implemented monitoring device for trackinganalytics data related to requests for content over a computer networkand generating metrics using the tracked analytics data, the monitoringdevice comprising: at least one processor; and a memory comprisingprogram instructions, wherein the program instructions are executable bythe at least one processor to: track analytics data for requests forcontent over a computer network, the analytics data for each requestcomprising a user identifier of a person or a user computing device thatmade the request, a time and date of the request, a description of therequest, and a coordinate location of the user computing device when therequest for content was made, the coordinate location recorded andtransmitted by the user computing device; and generate traffic metricsfor each of one or more geographical locations of interest by segmentingthe analytics data based on the coordinate location of the request. 7.The computer-implemented monitoring device of claim 6, wherein theprogram instructions are further executable to identify the person orthe user computing device that made the request for content from theanalytics data for requests for provision of content based on requestsreceived from the user computing device.
 8. The computer-implementedmonitoring device of claim 6, wherein tracking analytics data furthercomprises tracking location visit patterns using multiple coordinatelocations.
 9. The computer-implemented monitoring device of claim 6,further comprising designating a plurality of points defining boundariesof the geographical location of interest comprising: analyzing therequests for content to determine request densities in a plurality oflocation units, identifying a set of location units with respectiverequest densities within a selected range, fitting a set of boundarypoints to boundaries of the set of location units, and assigning the setof boundary points to define the boundaries of the geographical locationof interest.
 10. The computer-implemented monitoring device of claim 6,further comprising designating a plurality of points defining boundariesof the geographical location of interest comprising: analyzing therequests for content to determine respective request densities in aplurality of location units, presenting a map of the plurality oflocation units with indications of the respective request densities inthe plurality of location units, responsive to selection of a locationunit from the plurality of location units, identifying a set of locationunits with respective request densities similar to the request densityof the location unit, fitting a set of boundary points to boundaries ofthe set of location units with respective request densities similar tothe request density of the location unit, and assigning the set ofboundary points to define the boundaries of the geographical location ofinterest.
 11. A non-transitory computer-readable storage medium storingcomputer-executable program instructions, wherein the programinstructions are executable to: track analytics data for requests forcontent over a computer network, the analytics data for each requestcomprising a user identifier of a person or a user computing device thatmade the request, a time and date of the request, a description of therequest, and a coordinate location of the user computing device when therequest for content was made, the coordinate location recorded andtransmitted by the user computing device; and generate traffic metricsfor each of one or more geographical locations of interest by segmentingthe analytics data based on the coordinate location of the request 12.The non-transitory computer-readable storage medium storingcomputer-executable program instructions of claim 11, wherein theprogram instructions are further executable to identify the person orthe user computing device that made the request for content from theanalytics data for requests for provision of content based on requestsreceived from the user computing device.
 13. The non-transitorycomputer-readable storage medium storing computer-executable programinstructions of claim 11, wherein the program instructions executable totrack analytics data further comprises program instructions executableto track location visit patterns using multiple coordinate locations.14. The non-transitory computer-readable storage medium storingcomputer-executable program instructions of claim 11, wherein theprogram instructions are further executable to designate a plurality ofpoints defining boundaries of the geographical location of interestcomprising: analyze the requests for content to determine requestdensities in a plurality of location units, identify a set of locationunits with respective request densities within a selected range, fit aset of boundary points to boundaries of the set of location units, andassign the set of boundary points to define the boundaries of thegeographical location of interest.
 15. The non-transitorycomputer-readable storage medium storing computer-executable programinstructions of claim 11, wherein the program instructions are furtherexecutable to designate a plurality of points defining boundaries of thegeographical location of interest comprising: analyze the requests forcontent to determine respective request densities in a plurality oflocation units, present a map of the plurality of location units withindications of the respective request densities in the plurality oflocation units, responsive to selection of a location unit from theplurality of location units, identify a set of location units withrespective request densities similar to the request density of thelocation unit, fit a set of boundary points to boundaries of the set oflocation units with respective request densities similar to the requestdensity of the location unit, and assign the set of boundary points todefine the boundaries of the geographical location of interest.